package com.coolw.core.generic;

import java.util.ArrayList;

/**
 * 泛型-类型擦除：泛型信息只存在于编译阶段，在代码编译结束后，与泛型相关的信息会被擦除掉
 *
 * @author coolw
 * @date 2023/12/26 19:25
 */
public class GenericTypeErase {

    public static void main(String[] args) {
        ArrayList<String> arrayList1 = new ArrayList<>();
        ArrayList<Integer> arrayList2 = new ArrayList<>();

        // true:在编译期间，所有的泛型信息都会被擦除，在编译后都会变成ArrayList<Object> 类型，所以会打印true
        System.out.println(arrayList1.getClass() == arrayList2.getClass());
    }
}
